#ifndef MATRIZRESTRICCIONES_H
#define MATRIZRESTRICCIONES_H

#include "Matriz.h"

class MatrizRestricciones
{
public:
    MatrizRestricciones(aed2::Nat);
    MatrizRestricciones(const Reglas*);
    ~MatrizRestricciones();
    void prohibirEmision(Pais, Pais);
    bool puedeVer(Pais, Pais) const;
    Lista<Pais> puedenVerme(Pais) const;
    Lista<Pais> puedoVer(Pais) const;
    bool esConsistente(Pais) const;

private:
    Matriz<bool> mat;
    Lista<Pais> boolALista(Arreglo<bool>) const;
};

#endif // MATRIZRESTRICCIONES_H
